﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Practices.Modeling.ExtensionProvider.Metadata;
using Microsoft.Practices.Services.ItineraryDsl;
using Microsoft.Practices.Modeling.ExtensionProvider.Extension;

namespace BizTalk.ESB.Extensions.ResolverExtenders
{
    [ExtensionProviderAttribute("AA288E53-2E2D-4CF0-9939-E94932CD5B63", "SPRequest-STATIC", "STATIC ServiceProxy Request Resolver Extension", typeof(ItineraryDslDomainModel))]
	[ResolverExtensionProvider]
	public class StaticServiceProxyRequestResolverExtenderProvider : ExtensionProviderBase
	{
		/// <summary>
		/// Initializes a new instance of the <see cref="SampleExtensionProvider"/> class.
        /// </summary>
        public StaticServiceProxyRequestResolverExtenderProvider()
            : base(typeof(StaticServiceProxyRequestResolverExtender))
        {
		}
    }

    [ExtensionProviderAttribute("9C72B664-E988-4535-95A9-70A2ABA1691F", "SPResponse-STATIC", "STATIC ServiceProxy Response Resolver Extension", typeof(ItineraryDslDomainModel))]
    [ResolverExtensionProvider]
    public class StaticServiceProxyResponseResolverExtenderProvider : ExtensionProviderBase
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="SampleExtensionProvider"/> class.
        /// </summary>
        public StaticServiceProxyResponseResolverExtenderProvider()
            : base(typeof(StaticServiceProxyResponseResolverExtender))
        {
        }
    }

    [ExtensionProviderAttribute("9CBB932D-A412-465C-8B35-55444C5C0EF3", "SPRequest-BRE", "BRE ServiceProxy Request Resolver Extension", typeof(ItineraryDslDomainModel))]
    [ResolverExtensionProvider]
    public class BreServiceProxyRequestResolverExtenderProvider : ExtensionProviderBase
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="SampleExtensionProvider"/> class.
        /// </summary>
        public BreServiceProxyRequestResolverExtenderProvider()
            : base(typeof(BreServiceProxyResolverExtender))
        {
        }
    }

    [ExtensionProviderAttribute("49BD9819-D45B-45D9-9F14-5077AAC16DCF", "SPResponse-BRE", "BRE ServiceProxy Response Resolver Extension", typeof(ItineraryDslDomainModel))]
    [ResolverExtensionProvider]
    public class BreServiceProxyResponseResolverExtenderProvider : ExtensionProviderBase
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="SampleExtensionProvider"/> class.
        /// </summary>
        public BreServiceProxyResponseResolverExtenderProvider()
            : base(typeof(BreServiceProxyResolverExtender))
        {
        }
    }
}
